From ebb11757633644a57e7168f24b541fe87e38af0f Mon Sep 17 00:00:00 2001 From: Alex Z Date: Thu, 17 Sep 2009 04:27:02 +0000 Subject: [PATCH] Fix logic error from r54153. By negating each individual isAllowed check, the OR statement would return true (and not allow the action) if the user didn't have both rights rather than checking if he has either one. --- includes/Title.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/Title.php b/includes/Title.php index adab8d4ace..b96011b375 100644 --- a/includes/Title.php +++ b/includes/Title.php @@ -1290,12 +1290,12 @@ class Title { # XXX: Find a way to work around the php bug that prevents using $this->userCanEditCssSubpage() # and $this->userCanEditJsSubpage() from working # XXX: right 'editusercssjs' is deprecated, for backward compatibility only - if( $this->isCssSubpage() && ( !$user->isAllowed('editusercssjs') || !$user->isAllowed('editusercss') ) + if( $this->isCssSubpage() && !( $user->isAllowed('editusercssjs') || $user->isAllowed('editusercss') ) && $action != 'patrol' && !preg_match('/^'.preg_quote($user->getName(), '/').'\//', $this->mTextform) ) { $errors[] = array('customcssjsprotected'); - } else if( $this->isJsSubpage() && ( !$user->isAllowed('editusercssjs') || !$user->isAllowed('edituserjs') ) + } else if( $this->isJsSubpage() && !( $user->isAllowed('editusercssjs') || $user->isAllowed('edituserjs') ) && $action != 'patrol' && !preg_match('/^'.preg_quote($user->getName(), '/').'\//', $this->mTextform) ) { -- 2.20.1